package com.example.lotterysystem.controller.param;

import jakarta.validation.constraints.NotBlank;
import lombok.Data;

import java.io.Serializable;

/**
 * 注册接收的类型
 * 这里是由前端通过 json 进行传输的对象，前端是 json对象，转换为 UserRegisterParam 这个对象类
 */
// 在 Controller 接口中使用 @Validated 注解之后
// 可以使用 @NotBlank 注解对 String 类型对象进行判断是否是必填的选项
@Data
public class UserRegisterParam implements Serializable {
    /**
     * 姓名
     */
    @NotBlank(message = "姓名不能为空!")
    private String name;

    /**
     * 邮箱
     */
    @NotBlank(message = "邮箱不能为空!")
    private String mail;

    /**
     * 电话
     */
    @NotBlank(message = "电话不能为空!")
    private String phoneNumber;

    /**
     * 密码
     * 不是必填的，对于管理员来说是必填的，但是对于普通用户来说，注册不需要密码
     */
    private String password;

    /**
     * 身份信息
     */
    @NotBlank(message = "身份信息不能为空!")
    private String identity;
}
